home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
CIncludes
/
VideoServices.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-05-01
|
4KB
|
139 lines
/*
File: VideoServices.h
Contains: Video Services Library Interfaces.
Version: Technology: PowerSurge 1.0.2
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __VIDEOSERVICES__
#define __VIDEOSERVICES__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __NAMEREGISTRY__
#include <NameRegistry.h>
#endif
#ifndef __QUICKDRAW__
#include <Quickdraw.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT_SUPPORTED
#pragma import on
#endif
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=mac68k
#endif
enum {
kTransparentEncoding = 0,
kInvertingEncoding = 1
};
enum {
kTransparentEncodingShift = (kTransparentEncoding << 1),
kTransparentEncodedPixel = (0x01 << kTransparentEncodingShift),
kInvertingEncodingShift = (kInvertingEncoding << 1),
kInvertingEncodedPixel = (0x01 << kInvertingEncodingShift)
};
enum {
kHardwareCursorDescriptorMajorVersion = 0x0001,
kHardwareCursorDescriptorMinorVersion = 0x0000
};
typedef UInt32 *UInt32Ptr;
struct HardwareCursorDescriptorRec {
UInt16 majorVersion;
UInt16 minorVersion;
UInt32 height;
UInt32 width;
UInt32 bitDepth;
UInt32 maskBitDepth;
UInt32 numColors;
UInt32Ptr colorEncodings;
UInt32 flags;
UInt32 supportedSpecialEncodings;
UInt32 specialEncodings[16];
};
typedef struct HardwareCursorDescriptorRec HardwareCursorDescriptorRec;
typedef HardwareCursorDescriptorRec *HardwareCursorDescriptorPtr;
enum {
kHardwareCursorInfoMajorVersion = 0x0001,
kHardwareCursorInfoMinorVersion = 0x0000
};
struct HardwareCursorInfoRec {
UInt16 majorVersion; /* Test tool should check for kHardwareCursorInfoMajorVersion1*/
UInt16 minorVersion; /* Test tool should check for kHardwareCursorInfoMinorVersion1*/
UInt32 cursorHeight;
UInt32 cursorWidth;
CTabPtr colorMap; /* nil or big enough for hardware's max colors*/
Ptr hardwareCursor;
UInt32 reserved[6]; /* Test tool should check for 0s*/
};
typedef struct HardwareCursorInfoRec HardwareCursorInfoRec;
typedef HardwareCursorInfoRec *HardwareCursorInfoPtr;
enum {
kVBLInterruptServiceType = 'vbl ',
kHBLInterruptServiceType = 'hbl ',
kFrameInterruptServiceType = 'fram'
};
typedef ResType InterruptServiceType;
typedef UInt32 InterruptServiceIDType;
typedef InterruptServiceIDType *InterruptServiceIDPtr;
#if FOR_SYSTEM7_ONLY
extern OSErr VSLNewInterruptService(RegEntryID *serviceDevice, InterruptServiceType serviceType, InterruptServiceIDPtr serviceID);
#endif
#if FOR_SYSTEM8_PREEMPTIVE
extern OSErr VSLNewInterruptService(RegEntryRef *serviceDevice, InterruptServiceType serviceType, InterruptServiceIDPtr serviceID);
extern OSErr VSLWaitOnInterruptService(InterruptServiceIDType serviceID, Duration timeout);
#endif
extern OSErr VSLDisposeInterruptService(InterruptServiceIDType serviceID);
extern OSErr VSLDoInterruptService(InterruptServiceIDType serviceID);
extern Boolean VSLPrepareCursorForHardwareCursor(void *cursorRef, HardwareCursorDescriptorPtr hardwareDescriptor, HardwareCursorInfoPtr hwCursorInfo);
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=reset
#endif
#if PRAGMA_IMPORT_SUPPORTED
#pragma import off
#endif
#ifdef __cplusplus
}
#endif
#endif /* __VIDEOSERVICES__ */